﻿using System;
using System.IO;
using System.Text.RegularExpressions;

namespace test2
{
  class test_2
  {
    // 验证手机号
    public void shouji()
    {
      Console.WriteLine("1、正则表达式验证手机号");
      while (true)
      {
        Console.WriteLine("请输入一个手机号：(输入p结束)");
        string s = Console.ReadLine();
        if (s == "p")
        {
          Console.WriteLine("验证结束！");
          break;
        }
        //手机号的正确格式：11位，纯数字，开头不能为0
        //按照上面规则写正则
        string pattern = @"^1[3456789]\d{9}$";
        if (Regex.IsMatch(s, pattern))
        {
          Console.WriteLine("手机号：" + s + " 合法");
        }
        else
        {
          Console.WriteLine("手机号：" + s + " 不合法");
        }
      }
    }
    // 验证邮箱
    public void youxiang()
    {
      Console.WriteLine("2、正则表达式验证邮箱");
      while (true)
      {
        Console.WriteLine("请输入一个邮箱：(输入p结束)");
        string s = Console.ReadLine();
        if (s == "p")
        {
          Console.WriteLine("验证结束！");
          break;
        }
        /*@之前必须有内容且只能是字母（大小写）、数字、下划线(_)、
          @和最后一个点（.）之间必须有内容且只能是字母（大小写）、数字、点（.）、减号（-），且两个点不能挨着
          最后一个点（.）之后必须有内容且内容只能是字母（大小写）、数字且长度为大于等于2个字节，小于等于6个字节
          */
        //验证邮箱
        string emailPattern = @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$";
        if (Regex.IsMatch(s, emailPattern))
        {
          Console.WriteLine("邮箱：" + s + " 合法");
        }
        else
        {
          Console.WriteLine("邮箱：" + s + " 不合法");
        }
      }
    }

    //一个笼子鸡和兔共有35个头，94只脚，问鸡和兔共有多少只？
    public void jitu()
    {
      Console.WriteLine("3、一个笼子鸡和兔共有x个头，y只脚，问鸡和兔共有多少只？");

      while (true)
      {
        Console.WriteLine("");
        Console.WriteLine("请输入鸡和兔共有多少个头：(输入p结束)");
        string s1 = Console.ReadLine();
        if (s1 == "p")
        {
          Console.WriteLine("游戏结束！");
          break;
        }
        int n1 = int.Parse(s1);
        Console.WriteLine("请输入鸡和兔共有多少只脚：(输入p结束)");
        string s2 = Console.ReadLine();
        if (s2 == "p")
        {
          Console.WriteLine("游戏结束！");
          break;
        }
        int n2 = int.Parse(s2);

        int top = n1;// 头
        int foot = n2;// 脚

        Boolean b = false;
        for (int ji = 1; ji < top; ji++)
        {
          for (int tu = 1; tu < top; tu++)
          {
            if ((ji + tu) == top && (ji * 2 + tu * 4) == foot)
            {
              b = true;
              Console.WriteLine("符合的数量 鸡：" + ji + "只 兔：" + tu + "只");
            }
          }
        }
        if (!b)
        {
          Console.WriteLine("没有符合的情况！");
        }
      }
    }

    // move
    public void move()
    {
      string sourceFile = @"C:\Users\zyh\Desktop\1\1-1.txt";
      string destinationFile = @"C:\Users\zyh\Desktop\2\2-1.txt";

      string path1 = @"C:\Users\zyh\Desktop\1\1-1\";
      string path2 = @"C:\Users\zyh\Desktop\3\";

      // 文件
      System.IO.File.Move(sourceFile, destinationFile);
      // 文件夹
      // System.IO.Directory.Move(path1, path2);
    }
    // save
    public void save()
    {
      string[] lines = { "First line", "Second line", "Third line" };
      Console.WriteLine("4、写入内容到文件中成功。");
      string sourceFile = @"C:\Users\zyh\Desktop\1\1.txt";

      // 写入文件

      System.IO.File.WriteAllLines(sourceFile, lines);

      // string text = "A class is the most powerful data type in C#. Like a structure, " +
      //                  "a class defines the data and behavior of the data type. ";
      // System.IO.File.WriteAllText(sourceFile, text);

    }
    // read
    public void read()
    {
      string sourceFile = @"C:\Users\zyh\Desktop\1\1.txt";

      Console.WriteLine("5、读取文件内容：");
      // 读取文件
      string[] lines = System.IO.File.ReadAllLines(sourceFile);

      // Display the file contents by using a foreach loop.
      foreach (string line in lines)
      {
        Console.WriteLine("\t" + line);
      }

    }
    // IO
    public void file()
    {
      FileStream F = new FileStream("test.txt",
            FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);

      for (int i = 1; i <= 20; i++)
      {
        F.WriteByte((byte)i);
      }

      F.Position = 0;

      for (int i = 0; i <= 20; i++)
      {
        Console.Write(F.ReadByte() + " ");
      }
      F.Close();
      Console.ReadKey();
    }



  }
}
